import os
import time

# 兼容开发板退出机制（和 audio.py 逻辑一致）
def exit_check():
    try:
        os.exitpoint()  # 检测用户中断（如 Ctrl+C）
    except KeyboardInterrupt as e:
        print(f"\n[提示] 用户手动停止程序：{e}")
        return True
    return False

def pure_print_test():
    """纯打印测试：无依赖，确保在 UART0 正常输出"""
    print("=" * 40)
    print("庐山派 UART0 纯打印测试程序（修正版）")
    print("=" * 40)
    # 打印启动信息（仅用 time 和 os 模块，无额外依赖）
    start_time = time.ticks_ms()
    print(f"程序启动时间：{start_time} ms（毫秒）")
    print(f"当前工作目录：{os.getcwd()}")
    print("\n开始循环打印（按 Ctrl+C 停止）...\n")

    # 循环打印（仅用基础模块，避免未导入的依赖）
    count = 1
    while True:
        # 计算运行时长，替代原 gc 内存信息（无额外依赖）
        run_duration = time.ticks_diff(time.ticks_ms(), start_time)
        print(f"[第 {count:2d} 次打印] | 累计运行：{run_duration} ms | 间隔：1 秒")
        
        # 检查退出信号
        if exit_check():
            break
        
        time.sleep(1)  # 间隔 1 秒打印一次
        count += 1

# 主程序入口（和 audio.py 结构一致）
if __name__ == "__main__":
    os.exitpoint(os.EXITPOINT_ENABLE)  # 启用开发板退出点
    try:
        pure_print_test()
    finally:
        # 程序收尾，确保正常退出
        print("\n" + "=" * 40)
        print("程序正常退出，UART0 打印测试完成！")
        print("=" * 40)
        os.exitpoint(os.EXITPOINT_DISABLE)